home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Compilers / digital marsC compier / dm / include / complex.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-19  |  4.5 KB  |  139 lines

  1.  
  2. // Copyright (C) 2001 by Digital Mars
  3. // All Rights Reserved
  4. // www.digitalmars.com
  5.  
  6. #pragma once
  7.  
  8. #if __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12. #define complex        _Complex
  13. #define _Complex_I    ((const float _Complex)__imaginary)
  14.  
  15. #define imaginary    _Imaginary
  16. #define _Imaginary_I    ((const float _Imaginary)__imaginary)
  17.  
  18. #define I        _Imaginary_I
  19.  
  20. double complex      __cdecl cacos(double complex z);
  21. float complex       __cdecl cacosf(float complex z);
  22. long double complex __cdecl cacosl(long double complex z);
  23.  
  24. double complex      __cdecl casin(double complex z);
  25. float complex       __cdecl casinf(float complex z);
  26. long double complex __cdecl casinl(long double complex z);
  27.  
  28. double complex      __cdecl catan(double complex z);
  29. float complex       __cdecl catanf(float complex z);
  30. long double complex __cdecl catanl(long double complex z);
  31.  
  32. double complex      __cdecl ccos(double complex z);
  33. float complex       __cdecl ccosf(float complex z);
  34. long double complex __cdecl ccosl(long double complex z);
  35.  
  36. double complex      __cdecl csin(double complex z);
  37. float complex       __cdecl csinf(float complex z);
  38. long double complex __cdecl csinl(long double complex z);
  39.  
  40. double complex      __cdecl ctan(double complex z);
  41. float complex       __cdecl ctanf(float complex z);
  42. long double complex __cdecl ctanl(long double complex z);
  43.  
  44. double complex      __cdecl cacosh(double complex z);
  45. float complex       __cdecl cacoshf(float complex z);
  46. long double complex __cdecl cacoshl(long double complex z);
  47.  
  48. double complex      __cdecl casinh(double complex z);
  49. float complex       __cdecl casinhf(float complex z);
  50. long double complex __cdecl casinhl(long double complex z);
  51.  
  52. double complex      __cdecl catanh(double complex z);
  53. float complex       __cdecl catanhf(float complex z);
  54. long double complex __cdecl catanhl(long double complex z);
  55.  
  56. double complex      __cdecl ccosh(double complex z);
  57. float complex       __cdecl ccoshf(float complex z);
  58. long double complex __cdecl ccoshl(long double complex z);
  59.  
  60. double complex      __cdecl csinh(double complex z);
  61. float complex       __cdecl csinhf(float complex z);
  62. long double complex __cdecl csinhl(long double complex z);
  63.  
  64. double complex      __cdecl ctanh(double complex z);
  65. float complex       __cdecl ctanhf(float complex z);
  66. long double complex __cdecl ctanhl(long double complex z);
  67.  
  68. double complex      __cdecl cexp(double complex z);
  69. float complex       __cdecl cexpf(float complex z);
  70. long double complex __cdecl cexpl(long double complex z);
  71.  
  72. double complex      __cdecl clog(double complex z);
  73. float complex       __cdecl clogf(float complex z);
  74. long double complex __cdecl clogl(long double complex z);
  75.  
  76. double complex      __cdecl clog10(double complex z);
  77. float complex       __cdecl clog10f(float complex z);
  78. long double complex __cdecl clog10l(long double complex z);
  79.  
  80. double complex      __cdecl cpow(double complex x, double complex y);
  81. float complex       __cdecl cpowf(float complex x, float complex y);
  82. long double complex __cdecl cpowl(long double complex x, long double complex y);
  83.  
  84. double complex      __cdecl csqrt(double complex z);
  85. float complex       __cdecl csqrtf(float complex z);
  86. long double complex __cdecl csqrtl(long double complex z);
  87.  
  88. double complex      __cdecl carg(double complex z);
  89. float complex       __cdecl cargf(float complex z);
  90. long double complex __cdecl cargl(long double complex z);
  91.  
  92. double complex      __cdecl cconj(double complex z);
  93. float complex       __cdecl cconjf(float complex z);
  94. long double complex __cdecl cconjl(long double complex z);
  95.  
  96. double complex      __cdecl cproj(double complex z);
  97. float complex       __cdecl cprojf(float complex z);
  98. long double complex __cdecl cprojl(long double complex z);
  99.  
  100. double      __cdecl cabs(double complex z);
  101. float       __cdecl cabsf(float complex z);
  102. long double __cdecl cabsl(long double complex z);
  103.  
  104. __inline double      __cdecl creal(double complex z)
  105. {
  106.     return (double) z;
  107. }
  108.  
  109. __inline float       __cdecl crealf(float complex z)
  110. {
  111.     return (float) z;
  112. }
  113.  
  114. __inline long double __cdecl creall(long double complex z)
  115. {
  116.     return (long double) z;
  117. }
  118.  
  119. __inline double      __cdecl cimag(double complex z)
  120. {
  121.     return (_Imaginary double) z * -I;
  122. }
  123.  
  124. __inline float       __cdecl cimagf(float complex z)
  125. {
  126.     return (_Imaginary float) z * -I;
  127. }
  128.  
  129. __inline long double __cdecl cimagl(long double complex z)
  130. {
  131.     return (_Imaginary long double) z * -I;
  132. }
  133.  
  134. #if __cplusplus
  135. }
  136. #endif
  137.  
  138.  
  139.